使用状态迁移

使用状态迁移来定义状态机在应用程序状态改变时的反应,例如当用户点击一个按钮时。例如,您可以:

使用任何与任何状态之间的迁移

当您创建状态时,状态机使用默认迁移在两种状态之间进行迁移。

要设置任何状态之间的迁移:

  1. 创建节点,并设置节点以使用状态机。请参阅使用状态机教程:创建切换按钮
    例如,创建切换按钮和拥有包含状态 OnOff 的状态组的状态机。
  2. 状态工具 (State Tools) 中点击迁移编辑器 (Transition Editor) 打开状态迁移编辑器 (State Transition Editor)
    要创建新迁移,点击现有迁移下的 + 创建迁移 (+ Create Transition)
  3. 当您首次打开 状态迁移编辑器 (State Transition Editor) 时,它显示在该状态组的所有状态之间使用的迁移。将鼠标指针悬停在 上方以查看迁移的详细信息。
  4. 在弹出窗口中进行以下设置:

设置特定状态之间的迁移

您可以设置特定状态之间的自定义迁移。您可以向 状态迁移编辑器 (State Transition Editor) 画布添加状态,并配置这两种状态之间的迁移设置。

要设置特定状态之间的迁移:

  1. 状态迁移编辑器 (State Transition Editor) 中右键点击, 然后在添加状态至画布 (Add State To Canvas) 中选择要设置迁移的状态。
    要显示所有状态,点击 添加所有状态至画布 (Add All States To Canvas)
  2. 点击该状态以选择它,然后点击 默认值 (Default) 迁移以设置 自定义 (Custom) 迁移。
  3. 将鼠标指针移动到 迁移上方以查看迁移的详细信息。
    状态工具 (State Tools) 显示您在 状态迁移编辑器 (State Transition Editor) 中定义的迁移。点击某个迁移,在状态迁移编辑器 (State Transition Editor) 中打开该迁移的自定义设置。

在状态迁移中使用自定义缓动函数

您可以使用动画为状态迁移定义自定义缓动函数。例如,定义自定义缓动函数,在进入该状态时发出电话闪烁提示。

要在状态迁移中使用自定义缓动函数:

  1. 创建或选择使用状态机的节点。请参阅使用状态机教程:创建切换按钮
    例如:
    1. 创建图像 (Image) 节点,该节点显示图像,提醒用户有来电。

    2. 图像 (Image) 节点创建具有一个状态组(含 DefaultIncoming Call 状态)的状态机,为每个状态添加并设置图像 (Image) 节点的不透明度 (Opacity) 属性值:
      • 对于Default 状态,将其设为 0
        这样即可在电话不响铃时在 Default 状态隐藏来电图像。
      • 对于Incoming Call 状态,将其设为 1
        这样即可在电话响铃时在 Incoming Call 状态显示来电图像。
  2. 创建动画 (Animation)动画剪辑 (Animation Clip) 资源。使用此动画更改在上一步创建的状态中使用的属性值。请参阅创建关键帧动画
    例如,在素材库 (Library) > 动画 (Animations) > 动画数据 (Animation Data) 中创建为节点的不透明度 (Opacity) 属性实现动画效果的动画 (Animation)。使用此动画让节点在进入 Incoming Call 状态时闪烁三次。
  3. 工程 (Project) 中选择您在第一步中创建的节点并在状态工具 (State Tools) 中点击任何 -> 任何 (Any -> Any) 以打开状态迁移编辑器 (State Transition Editor)
  4. 状态迁移编辑器 (State Transition Editor) 中设置:
  5. 状态迁移编辑器 (State Transition Editor) 底部,点击 添加迁移动画,并在迁移动画 (Transition Animations) 中设置:
  6. 要在预览 (Preview) 中播放迁移动画,在状态工具 (State Tools) 中点击迁移旁的

配置缓动函数

您可以在状态迁移编辑器 (State Transition Editor) 中配置部分缓动函数以定义用于设置迁移曲线的函数中的值。

状态迁移编辑器 (State Transition Editor) 中可以配置的缓动函数包括:

另请参阅

状态机

使用状态机

教程:创建切换按钮

使用按钮 (Button) 节点

创建关键帧动画